from typing import List

from llama_index.core.agent.workflow import  FunctionAgent
from llama_index.core.evaluation.benchmarks import BeirEvaluator
from llama_index.core.evaluation.multi_modal import MultiModalRelevancyEvaluator
from llama_index.core.vector_stores import SimpleVectorStore
from llama_index.core.schema import  TextNode
from llama_index.core import Settings, SimpleKeywordTableIndex, SummaryIndex, get_response_synthesizer
from llama_index.embeddings.zhipuai import ZhipuAIEmbedding
from llama_index.core.graph_stores import SimplePropertyGraphStore
from llama_index.core.schema import Document
from pydantic import BaseModel

embed_model = ZhipuAIEmbedding(
    model="embedding-2",
    api_key="f387f5e4837d4e4bba6d267682a957c9.PmPiTw8qVlsI2Oi5"
    # With the `embedding-3` class
    # of models, you can specify the size
    # of the embeddings you want returned.
    # dimensions=1024
)
Settings.embed_model=embed_model

from llama_index.llms.deepseek import DeepSeek

llm = DeepSeek(model="deepseek-chat", api_key="sk-605e60a1301040759a821b6b677556fb")
Settings.llm = llm

text='''马逊雨林作为全球生物多样性最丰富的地区之一，其鸟类多样性是衡量生态系统健康的重要指标。^^ 这片占地550万平方公里的热带雨林孕育了超过1000种鸟类，占全球鸟类种类的八分之一，其中包括235种蜂鸟、90种美饰鸟等特有物种。^^ 这些鸟类通过传播种子、控制昆虫数量等生态功能，维持着雨林复杂的食物网平衡。^^1^^ 然而，近年的监测数据显示，雨林深处的鸟类种群正以惊人的速度消失，音乐家鹪鹩等标志性物种的观测案例自2008年起呈现断崖式下降。^^1^^ 这种变化不仅威胁着雨林生态系统的稳定性，更可能通过连锁反应影响全球气候调节功能。^^2^^ 监测数据揭示的种群衰退趋势令人警醒：音乐家鹪鹩的野外观测案例在2008年后急剧减少，其鸣叫声在传统监测点的出现频率显著下降。^^1^^ 更令人担忧的是，这种衰退并非孤立现象，研究显示亚马逊雨林深处77种鸟类中，许多物种的体重每十年平均减少近2%，同时翅膀长度却呈现增长趋势。^^2^^ 这种体型变化与伯格曼法则的预测吻合，暗示着气候变化对鸟类生理结构的深层影响。^^2^^ 食物链的断裂加剧了危机，带翅膀的蚂蚁等关键食物源数量锐减，迫使鸟类依赖单一食物来源，最终导致种群崩溃。^^1^^ 原始森林中40年的持续观测表明，即使远离人类砍伐区，鸟类仍面临栖息地质量下降的威胁——雨季降雨量增加13%、旱季减少15%的气候波动，直接影响了昆虫繁殖周期和果实产量。^^2^^ 这些变化共同构成了无声的生态灾难，树冠层中蜂鸟与美饰鸟的缤纷羽翼，正逐渐从雨林的天际线消失。'''

from llama_index.core.evaluation.multi_modal.faithfulness import (
    MultiModalFaithfulnessEvaluator,
)
from llama_index.core.evaluation.multi_modal.relevancy import (
    MultiModalRelevancyEvaluator,
)
'''MultiModalFaithfulnessEvaluator是LlamaIndex框架中用于评估多模态生成内容与原始输入一致性的评估器'''



'''
evaluator = MultiModalFaithfulnessEvaluator(multi_modal_llm=llm)

evaluator = MultiModalFaithfulnessEvaluator()
score = evaluator.evaluate(
    query="描述图片内容",
    response="生成的图文描述",
    contexts=[原始图像和文本数据]
)


query = "热带雨林动物"
retrieved_items = [
    {"type": "image", "content": "猴子在树上的照片"},
    {"type": "text", "content": "亚马逊雨林的鸟类多样性报告"}
]
eval_result = evaluator.evaluate(query,response="亚马逊雨林的鸟类多样性报告",contexts= [text])
print(eval_result)


evaluator = MultiModalRelevancyEvaluator(multi_modal_llm=llm)


query = "热带雨林动物"
retrieved_items = [
    {"type": "image", "content": "猴子在树上的照片"},
    {"type": "text", "content": "亚马逊雨林的鸟类多样性报告"}
]
eval_result = evaluator.evaluate(query,response="亚马逊雨林的鸟类多样性报告",contexts= [text])
print(eval_result)
'''


